The present invention relates to computer networks, and more particularly to a method and system in an Internet Protocol (IP) network for automatically and optimally selecting a Telecommunications Network (xe2x80x9cTelnetxe2x80x9d) 3270 Server according to response time and availability criteria.
SNA and IP Environment
Every day, for all sorts of reasons, more and more companies are focusing on the consolidation of the multiple specialized networks they directly operate or lease from service providers onto a single protocol network. These multiple specialized networks are based on diverse networking technologies such as Systems Network Architecture (SNA), Internet Protocol (IP) or Internetwork Packet Exchange (IPX).
These companies are making this consolidation one of their top priorities. Companies are almost exclusively selecting the Internet Protocol (HP) as their protocol of choice. However, for the overwhelming majority of these companies using SNA protocols and applications, there still is and will be for the many years to come, a major requirement in this changing environment. The requirement is for the employees of these companies to keep the capability they always had to access the huge amount of existing corporate data residing in traditional mainframes and accessible through SNA applications.
TCP/IP
The Internet is a global network of computers and computers networks. The Internet connects computers that use a variety of different operating systems and languages, including UNIX, DOS, Windows, Macintosh, and others. To permit communication among these various systems and languages, the Internet uses a standard language referred to as TCP/IP (xe2x80x9cTransmission Control Protocol/InternetProtocolxe2x80x9d). The TCP/IP protocol supports three basic applications on the Internet: transmitting and receiving electronic mail, logging into remote computers (xe2x80x9cTelecommunications Networkxe2x80x9d or xe2x80x9cTelnetxe2x80x9d), and transferring files and programs from one computer to another (xe2x80x9cFTPxe2x80x9d or xe2x80x9cFile Transfer Protocolxe2x80x9d).
World Wide Web
With the increasing size and complexity of the Internet, tools, often called navigators or navigation systems, have been developed to help find information on the network. Navigation systems that have been developed include programs such as Archie, Gopher and WAIS. The World Wide Web (xe2x80x9cWWWxe2x80x9d or xe2x80x9cthe Webxe2x80x9d) is a recent superior navigation system. The Web is:
an Internet-based navigation system,
an information distribution and management system, and
a dynamic format for communication.
The Web seamlessly integrates several forms of information, including still images, text, audio and video. A user on the Web using a Graphical User Interface (xe2x80x9cGUIxe2x80x9d, pronounced xe2x80x9cgooeyxe2x80x9d) may transparently communicate with different host computers on the Internet different system applications (including FTP and Telnet), and different information formats for files and documents including, for example, text, sound and graphics.
Hypermedia
The Web uses hypertext and hypermedia. Hypertext is a subset of hypermedia and refers to computer-based xe2x80x9clinksxe2x80x9d through which uses move from one place to another in a document, or to another document, in a non-linear manner. To accomplish this feature, the Web uses a client-server architecture. The user""s computer is said to be a client computer to the Web server computer. Web servers enable a user to access hypertext and hypermedia. The clients send requests to the Web servers, which in turn react, search and respond. The Web allows client-based application softwares to request and receive hypermedia documents (including formatted text, audio, video and graphics) from a Web file server with hypertext link capabilities to other hypermedia documents.
The Web, then, can be viewed as a collection of document files residing on Web host computers that are interconnected by hyperlinks using networking protocols, forming a virtual xe2x80x9cwebxe2x80x9d that spans the Internet.
Uniform Resource Locators
A resource on the Internet may be unambiguously identified by a Uniform Resource Locator (URL), which is a pointer to a particular resource at a particular location. A URL specifies the protocol used to access a server (e.g. http://, ftp://, etc.), the name of the server (e.g. www.ibm.com, and the location of a file on that server (e.g./products/catalog.html).
HyperText Transfer Protocol (HTTP)
Each Web page may appear as a complex document that integrates many media, for example, text, images, sounds and animation. Each such page may also contain hyperlinks to other Web documents, so that a user at a client computer may click on icons using a mouse and may activate hyperlink jumps to a new page (which is a graphical representation of another document file) on the same or a different Web server.
A Web Server is a software program run on a Web host computer that responds to requests from Web Clients, typically over the Internet. All Web servers use a language or protocol to communicate with Web Clients which is called HyperText Transfer Protocol (xe2x80x9cHTTPxe2x80x9d) graphics, sound and video. All types of data, including HyperText Markup Language(xe2x80x9cHTMLxe2x80x9d), can be exchanged among Web servers and clients using this protocol. HTML describes the layout, contents and hyperlinks of the documents and pages to be displayed to the user. When browsing, Web Clients convert user-specified commands into HTTP GET requests, connect to the appropriate Web Server to obtain the information, and await a response. The response from the server may be the requested document or an error message. After a document or an error message is returned, the connection between the Web client and the Web server is closed.
The first version of HTTP is a stateless protocol. That is to say, with HTTP version 1.0, there are no continuous connections between clients and servers. A Web client using HTTP receives a response as HTML data or other data. Newer versions of HTTP break this barrier of a stateless protocol by keeping the connection between the server and client alive under certain conditions.
Browser
After receipt, the Web Client formats and presents the data or activates an ancillary application, such as a sound player, to present the data. To do this, the server or the client first determines the type of data to be received. The Web Client is also referred to as the xe2x80x9cWeb Browser,xe2x80x9d since it in fact browses documents retrieved from the Web Servers.
Telnet 3270
A widely used technique for the transport of SNA information across an IP network is the use of Telnet technologies, specifically the Telnet 3270 (xe2x80x9cTN3270xe2x80x9d) emulation. This technique for SNA xe2x80x9cgreen screenxe2x80x9d workstation users utilizes a Client/Serverapproach. xe2x80x9cHost-On Demandxe2x80x9d from IBM or xe2x80x9cWebClientxe2x80x9d from CISCO are examples of Client software implementations. Network Utility from IBM or CISCO router""s offerings are typical server implementations (hardware and software). The xe2x80x9cTN3270 Clientxe2x80x9d software usually runs within the customer""s workstation while thexe2x80x9cTN3270 Serverxe2x80x9d software is usually placed in front of the customer""s data center mainframes (or sometimes directly within the mainframe itself) or within the customer""s branch offices.
As illustrated in FIG. 1, IP protocols are used between the TN3270 Server 102 and the TN3270 Clients 101, while traditional SNA protocols are used between the TN3270 Server 102 and the target SNA applications 103. More information concerning
Telnet, TN3270 and Network Utility can be found in the following publications, incorporated herewith by reference:
xe2x80x9cTCP/IP Tutorial and Technical Overview,xe2x80x9d Martin W. Murhammer, Orcun Atakan, Stefan Bretz, Larry R. Pugh, Kazunari Suzuki, David H. Wood, IBM International Technical Support Organization, October 1998, GG24-3376-05.
xe2x80x9cIBM 2216/Network Utility Host Channel Connection,xe2x80x9d Erol Lengerli, Jacinta Carbonell, Thomas Grueter; IBM International Technical Support Organization, January 1999, SG24-5303-00.
xe2x80x9cIBM Network Utility Description and Configuration Scenarios,xe2x80x9d Tim Kearby, Peter Gayek, Gallus Schlegel, Imre Szabo, Zhi-Yong Zhang; IBM International Technical Support Organization, January 1999, SG24-5289-00.
xe2x80x9cInternetworking with TCP/IP-Volume I-Principles, Protocols, and Architecture,xe2x80x9d Douglas E. Comer, Second Edition, Prentice Hall 1991.
Requests For Comments (RFCs) from the Internet Engineering Task Force (IETF):
RFC 1576: TN3270 Current Practices,
RFC 1646: TN3270 Extensions for LU name and Printer Selection,
RFC 1647: TN3270 Enhancements, and RFC 2355: TN3270 Enhancements.
Accessing SNA Application via Traditional SNA End-to-End
In the traditional SNA world, user workstations traditionally obtain access to SNA applications by connecting first to an intermediate application. This intermediate application provides for access to the real target application. This intermediate application, also referred to as an Intermediate Selection Application, usually displays to the user a selection screen which lists the SNA applications that may be accessed. The user selects from that menu the target SNA application he wants to access and is then connected to that target SNA application, which usually presents to the user an application welcome screen (for instance displaying the SNA-application name and asking for a user logon and password). FIG. 2 describes a traditional SNA access to an Intermediate Selection Application in an SNA environment.
First step 201: The user is presented a Selection Screen of a plurality of possible applications by the Intermediate Selection Application (three possible applications A, B and C). Usually, the workstation automatically sets up a direct connection to the Intermediate Selection Application, as soon as the workstation""s SNA protocol stack is started (or, in case of a xe2x80x9cdumbxe2x80x9d terminal, when the terminal is powered on). Second step 202: Provided that at this time the Intermediate Selection Application is up and running, the connected user selects an application (application A) by typing an application name on the selection screen. Third step 203: Finally, the user is connected to the desired application (application A), which usually presents to the user an application welcome screen.
Accessing SNA Application from TN3270 Client with Manual Configuration
TN3270 Clients can be manually configured with the IP address or name of the TN3270 Server which needs to be accessed to reach the target SNA application. The main drawback to this setup is that the TN3270 Server selection is then static. There is no dynamic criteria for selecting the TN3270 Server, such as the response time. TN3270 Server failures require manual reconfiguration of the TN3270 Clients to point to an alternate active TN3270 Server, since manual configuration usually allows the definition of only a single TN3270 Server and no ability to define a backup TN3270 Server configuration.
Accessing SNA Application from TN3270 Client with Dynamic Configuration
In a TN3270 Client-Server approach, one technique commonly applied is to provide the Intermediate Selection Application via a Web Server implementation. In such a case, the user accesses the Intermediate Selection Application within the Web Server, using his favorite Web Browser running on his user workstation. This approach is described in FIG. 3:
First step 301: The user receives a Selection Screen on the Web Browser from the Intermediate Selection Application in the Web Server. The selection screen may offer three applications: A, B and C. By selecting the desired SNA Application from the Selection Screen (just a click from within the Browser), the workstation obtains the IP addressing/naming information corresponding to the preferred TN3270 Server for the desired target SNA application.
Second step 302: If the user chooses application C from the Selection Screen, the user workstation obtains from the Web Server the address (SS) for the TN3270 Server(s) (providing access to the mainframe housing application C).
Third step 303: Thus, the local TN3270 Client can then be started either manually or automatically to access the preferred Telnet server by using the address provided by the Intermediate Selection Application. The user workstation receives back the address of the Telnet server (Server S which address is SS) and connects to the target application C via the appropriate Server (Telnet Server S). The target application C then presents an Application Welcome Screen to the user (for instance displaying the SNA application name and asking for a user logon and password).
Going through an Intermediate Selection Application shields end-users from changes that inevitably occur, for example, when an SNA application is changed to be run from one Host to another Host in a different location, or when a new SNA application is added. In such cases, only the Selection Screen need be modified. Changes in target application locations are completely transparent to the workstations. Another advantage is that a user""s connection to a single intermediate application (the Intermediate Selection Application) provides a single access point to the many possible SNA applications, wherever they are located.
The use of an intermediate, menu-driven Intermediate Selection Application greatly simplifies the task of the workstation users who may automatically obtain access through a user-friendly, menu-driven, application selection menu (the Selection Screen). The users need not be concerned by manual definitions that need to be performed and maintained over system changes.
Problem
The problem is to provide a system and method for automatically configuring the TN3270 Client to use the best TN3270 Server to access the desired SNA Application. Current solutions address the problem of configuring the TN3270 client only partially. TN3270 Clients can be manually configured with the target TN3270 Server. The main drawbacks of this solution are as follows:
(a) There is no dynamic TN3270 Server selection,
(b) When the TN3270 Server is in failure, a manual reconfiguration of the TN3270 Client is required; and
(c) TN3270 Server names or addresses must be known and manually configured by end users for each SNA Application the user wants to access.
(d) Only a xe2x80x9cmanualxe2x80x9d load balancing through the static configuration of the TN3270 Clients is provided.
TN3270 Clients can also be dynamically configured for a target TN3270 Server corresponding to the desired SNA Application using an Intermediate Selection Application running on a dedicated Web Server. The main drawbacks concerning this solution are as follows:
(a) There is no response time consideration in the TN3270 Server selection;
(b) There is no efficient TN3270 Server failure detection (i.e. to access a particular SNA application, the Web Server will always select the same TN3270 Server to the end users, even if that Server has failed);
(c) The connection to the SNA Application is indirect, since the end user has to first manually connect to a Web Server to receive the Selection Screen. This Web Server connection terminates each time the end user wants to access an SNA Application, even if the Intermediate Selection Application is able to determine the best TN3270 Servers and is able to detect TN3270 Server failures.
An alternate solution is to cluster the TN3270 Servers using an external dispatcher system acting as single logical access point. All TN3270 Clients are then manually configured with the name of that external dispatcher system (as the target TN3270 Server) which then routes the traffic to selected TN3270 Servers. An example of such a dispatcher is the IBM Interactive Network Dispatcher product. More information concerning this product can be found in IBM""s publication entitled xe2x80x9cInteractive Network Dispatcher v1.2-User""s Guidexe2x80x9d GC31-8496-01 incorporated herewith by reference.
Although a dispatcher oriented solution allows an efficient load balancing in most cases, the problems with this solution are as follows:
(a) An additional dedicated system or a specific hardware is required;
(b) An additional software layer resides between the end users and the SNA Applications (hence potential degradation on performance); and
(c) The external dispatcher name must be manually configured by end users in the TN3270 Clients.
The present invention optimizes TN3270 Server selection by using availability and response time criteria. The present invention also to optimizes TN3270 service performance by integrating a response time factor to the TN3270 Server selection. The present invention minimizes TN3270 service application interruption and thus insures better service availability by automatically detecting failures on TN3270 Servers.
The present invention relates to the dynamic configuration of Telnet 3270 Clients and more particularly to a method and system for optimizing selection of a Telnet 3270 Server according to some response time and availability criteria. The invention comprises an Intermediate Selection Application mechanism which uses availability and response time probes.
The present invention comprises the steps of retrieving known SNA Application Welcome Screens from SNA Applications through a Server, measuring the associated response time, and detecting failures and degradation of response time. The present invention can also use a CGI (Common Gateway Interface) program for dynamically creating a Selection Screen (which may be a web page in HTML code) on an Intermediate Selection Application.
The present invention addresses the drawbacks of the existing current solutions by integrating dynamic server availability and response time selection criteria to an Intermediate Selection Application system. The present inventions provides the following advantages:
(a) Early detection of failures on Servers resulting in a high service availability;
(b) Integration of a response time factor to the Server selection process optimizes performances of the Server;
(c) Induced IP (Internet Protocol) and SNA (Systems Network Architecture) survey traffic is minimized by running availability and response time probes from a single Intermediate Selection Application URL system (as opposed to running the probes on each Client system);
(d) Integration of response time degradation in the probes achieves a proactive Server failure detection;
(e) A periodic dynamic update of optimal or xe2x80x9cbestxe2x80x9d Servers can be provided to Clients;
(f) Useless traffic to failing Servers is minimized since failed Telnet 3270 Servers are excluded from list of available target servers upon failure detection;
(g) No additional or specific hardware is required; and
(h) Client performances are not degraded because availability and response time probes are not processed within the downloaded Selection Screen but in the Intermediate Selection Application URL system.